(1) Field of the Invention
The present invention relates to a communication controlling apparatus and a communication controlling method used in the communication controlling apparatus, and a communication system having the communication controlling apparatus suitable for use upon connecting plural host computers to terminal apparatus (clients) connected to each other and controlling communications therebetween.
(2) Description of Related Art
There is a communication system in which plural host computers.(hosts) and terminal apparatus (terminals) as clients are connected to each other, and which can provide a service such that the terminal can use a program or the like stored in the host.
FIG. 5 is a block diagram showing an example of such a communication system. A communication system 100 shown in FIG. 5 has host computers (hosts) 101A through 101C, a gateway 102 and terminal apparatus (terminals) 103A through 103D.
The hosts 101A through 101C are upper apparatus each of which stores host programs (programs) to provide a service using these programs to the terminals 103A through 103D.
For example, the host 101A stores programs having program names "AAA" and "ABC", the host 101B stores programs having program names "BBB" and "ABC", and the host 101C stores programs having program names "CCC" and "ABC", as shown in FIG. 7.
The gateway 102 is a communication controlling apparatus provided between a host group 101 composed of the hosts 101A through 101C and a terminal group 103 composed of the terminals 103A through 103D to control communications therebetween. The gateway 102 functionally has lower layer controlling units 107 and 110, a protocol converting unit 108 and a connection request processing unit 109 as shown in FIG. 6, details of which will be described later.
The hosts 101A and 101B are connected to the gateway 102 via dedicated lines 104A and 104B, respectively, whereas the host 101C is connected to the gateway 102 via a switched line 104C.
Each of the terminals 103A through 103D transmits a connection request command to a desired host 101A, 101B or 101C via the gateway 102 to access to that host 101A, 101B or 101C, thereby being provided a program from that desired host 101A, 101B or 101C.
Namely, each of the terminals 103A through 103D functions as a lower apparatus which gets a service provided from the host 101A, 101B or 101C by conducting a desired process using a program provided from the host 101A, 101B or 101C.
In each of the terminals 103A through 103D, the function mentioned above is realized in a process using a program (software) such as an emulator or the like.
The terminals 103A through 103D are connected to each other by a LAN (Local Area Network) line 106 to form the terminal group 103. The terminal group 103 is connected to the gateway 102 via a dedicated line 105.
The gateway 102 is physically connected to each of the lines (the dedicated lines 104A, 104B and 105, and the switched line 104C) via a board 111 shown in FIG. 6.
Next, the gateway 102 mentioned above will be described in detail.
As having been described hereinbefore, the gateway 102 is functionally configured with the lower layer controlling units 107 and 110, the protocol converting unit 108 and the connection request processing unit 109 as shown in FIG. 6. These functions are realized by a process using a software.
The lower layer controlling unit 107 controls lower layers on the side of the terminals 103A through 103D (each of hierarchies such as a physical layer, a data link layer, a network layer and the like in the network architecture). The lower layer controlling unit 110 controls lower layers on the side of the hosts 101A through 101C.
The protocol converting unit 108 converts a protocol on the side of the terminals 103A through 103D inputted via the lower layer controlling unit 107 into a protocol on the side of the hosts 101A through 101C, besides converting a protocol on the side of the hosts 101A through 101C inputted via the lower layer controlling unit 110 into a protocol on the side of the terminals 103A through 103D. If the protocol of the hosts 101A through 101C is identical to that of the terminals 103A through 103D, the protocol converting unit 108 does not convert the protocol.
The connection request processing unit 109 conducts a process on a connection request command sent from each of the terminals 103A through 103D which has undergone a protocol converting process by the protocol converting unit 108 in an application program level on the basis of contents of tables 112A and 112B shown in FIGS. 8 and 9 held in a storage (not shown), as will be described later.
Each of the tables 112A and 112B stores LU (Logical Unit) names which are information relating to names of the hosts 101A through 101C and host program names which are information relating to program names stored in the hosts 101A through 101C in such a manner that the LU names and the host program names correspond to each other, as shown in FIGS. 8 and 9.
With the above structure, the communication system 100 shown in FIG. 5 operates as described below. An operation of the communication system at that time will be now described with reference to FIG. 7.
When connection request demands are transmitted from the terminals 103A through 103D, these connection request demands are inputted to the connection request processing unit 109 of the gateway 102 via the LAN line 106 and the dedicated line 105.
In the connection request command, a host program name of a program that the terminal desires to use is designated. The gateway 102 judges only from the host program name designated in the connection request command a host in which the program is stored.
If the terminal 103A intends to use a program "AAA" stored in the host 101A, for example, a connection request command in which a host program name "AAA" is designated is transmitted from the terminal 103A to the gateway 102.
The connection request processing unit 109 of the gateway 102 takes out the host program name "AAA" from the connection request command transmitted from the terminal 103A, and retrieves the host program name "AAA" from the table 112A shown in FIG. 8.
When the host program name "AAA" (a P portion shown in FIG. 8) is retrieved as above, the connection request processing unit 109 further obtains a corresponding LU name "LUA" (a Q portion shown in FIG. 8) in the table shown in FIG. 8, then transmits the connection request command to the host 101A which is a host corresponding to the LU name "LUA".
If the terminal 103A intends to use a program "ABC" stored in the host 101A, for example, a connection request command in which a host program name "ABC" is designated is transmitted from the terminal 103A to the gateway 102.
The connection request processing unit 109 of the gateway 102 takes out the program name "ABC" from the connection request command transmitted from the terminal 103A, then successively retrieves the host program name "ABC" from a leading address of the table 112B shown in FIG. 9.
At that time, the connection request processing unit 109 retrieves the host program name "ABC" in an R portion shown in FIG. 9 by referring to the table 112B. When the host program name "ABC" is retrieved as above, a corresponding LU name "LUA" (a T portion shown in FIG. 9) is further obtained from the table 112B, then the connection request is transmitted to a host 101A which is a host corresponding to the LU name "LUA".
Incidentally, the programs named "ABC" stored in the hosts 101A through 101C are not necessarily identical to each other even if their host program names are identical. For this, if one of the terminals 103A through 103D intends to use a desired program, it is necessary that the terminal is certainly connected to a host storing that program.
If data under process by, or data desired to be referred by, one of the terminals 103A to 103D is stored in, for example, the host 101B, that terminal 103A to 103D cannot obtain the data unless that terminal 103A to 103D is connected to the host 101B even if the programs stored in the hosts 101A to 101C are identical. It is thus necessary that terminal is certainly connected to the host in which that data is stored.
However, in the above communication system shown in FIG. 5, no host name of a host in which a program that the terminal desires to use is stored is not designated in the connection request command transmitted from the terminal so that the connection request might be transmitted to a host that the terminal does not desire to be connected if plural hosts store programs having identical names.
Accordingly, there is a disadvantage that each of the terminals 103A through 103D might receive a program (having the identical host program name) different from a program that the terminal desires to use through the gateway 102 in the above case.
For instance, if the terminal 103A intends to use a program "ABC" stored in the host 101B, the connection request command is transmitted from the terminal 103A to the gateway 102 similarly to the above case.
The connection request processing unit 109 of the gateway 102 does not retrieve a host program name "ABC" in an S portion shown in FIG. 9 but retrieves a host program name "ABC" in the R portion shown in FIG. 9. As a result, a corresponding LU name "LUA" (an S portion shown in FIG. 9) is obtained. Accordingly, the connection request command is transmitted to the host 101A which is a host corresponding to the LU name "LUA".
In the above communication system shown in FIG. 5, the gateway 102 cannot transmit the connection request command to the host 101B when the terminal 103A intends to use the program "ABC" stored in the host 101B.